package com.guomei.bean.curse;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.time.LocalDateTime;

@Data
public class CreateOrUpdateCourseVideo implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     * 视频ID
     */
    private Long id;

    /**
     * 章节ID
     */
    @NotNull(message = "章节ID不能为空")
    private Long chapterId;

    /**
     * 课程ID
     */
    @NotNull(message = "课程ID不能为空")
    private Long courseId;

    /**
     * 视频名称
     */
    @NotNull(message = "视频名称不能为空")
    @NotBlank(message = "视频名称不能为空")
    private String videoName;

    /**
     * 视频URL(m3u8格式)
     */
    @NotNull(message = "视频URL不能为空")
    @NotBlank(message = "视频URL不能为空")
    private String videoUrl;

    /**
     * 时长(秒)
     */
    private Integer duration;

    /**
     * 排序
     */
    private Integer sortOrder;

    /**
     * 状态(0-转码中,1-正常,2-失败)
     */
    private Integer status;

    /**
     * 是否免费(0-否,1-是)
     */
    @NotNull(message = "是否免费不能为空")
    private Integer isFree;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime createdTime;

    /**
     * 更新时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime updatedTime;
}
